
#ifndef _OD_H
#define _OD_H

#include <Windows.h>
#include <stdio.h>
#include <string>
#include <vector>
#include "Plugin.h"


#define PLUGIN_NAME		"OdEx"

typedef unsigned int MWORD;

//////////////////////////////////////////////////////////////////////////
extern DWORD	 dwOdBase;
extern HINSTANCE hinst;
extern HWND      hwmain;

extern char* g_DebugMainModuleName;
extern char* g_DebugMainModulePath;


bool WriteMemory(PBYTE BaseAddress, PBYTE Buffer, DWORD nSize);
void InstallJMP(PBYTE BaseAddress, MWORD Function);
void InstallCall(PBYTE BaseAddress, MWORD Function);

std::wstring SignedToHex(int64_t value);

//Converting a WChar string to a Ansi string
std::string WChar2Ansi(LPCWSTR pwszSrc);

std::string ws2s(std::wstring& inputws);

//Converting a Ansi string to WChar string

std::wstring Ansi2WChar(LPCSTR pszSrc, int nLen);

std::wstring s2ws(const std::string& s);

//////////////////////////////////////////////////////////////////////////
void DoHook();
void InstallStateInfo(bool bOpen);
//////////////////////////////////////////////////////////////////////////

#endif


